Industrial control systems have enabled modern factories to become partially or completely automated in many circumstances. These systems generally include a plurality of Input and Output (I/O) modules that interface at a device level to switches, contactors, relays and solenoids along with analog control to provide more complex functions such as Proportional, Integral and Derivative (PID) control. Communications have also been integrated within the systems, whereby many industrial controllers can communicate via network technologies such as Ethernet, Control Net, Device Net or other network protocols and also communicate to higher level computing systems. Generally, industrial controllers utilize the aforementioned technologies along with other technology to control, cooperate and communicate across multiple and diverse applications.
At the core of the industrial control system, is a logic processor such as a Programmable Logic Controller (PLC). Programmable Logic Controllers are programmed by systems designers to operate manufacturing processes via user-designed logic programs or user programs. The user programs are stored in memory and generally executed by the PLC in a sequential manner although instruction jumping, looping and interrupt routines, for example, are also common. Associated with the user program are a plurality of memory elements or variables that provide dynamics to PLC operations and programs. These variables can be user-defined and can be defined as bits, bytes, words, integers, floating point numbers, timers, counters and/or other data types to name but a few examples.
Industrial controllers and associated control systems have increasingly become more sophisticated and complicated as control applications have been distributed across the plant floor and in many cases across geographical or physical boundaries. As an example, multiple controllers and/or other devices may communicate and cooperate to control one or more aspects of an overall manufacturing process via a network, whereas other devices may be remotely located, yet still contribute to the same process. In other words, control applications have become less centrally located on a singular control system having associated responsibilities for an entire operation. Thus, distribution of the overall control function and/or process frequently occurs across many control components, systems or devices.
Due to the distributed nature of modern control systems, it has become more difficult to achieve reliable communications and control harmony amongst diverse components that are often only bound via common network connections. Thus, many network components do not operate according to well-coordinated software interactivity even though the network components may communicate via common network protocols such as Ethernet. For example, custom interfaces and/or communications configurations may have to be developed for each control component residing on the network in order for the control components to act in a coordinated manner. As the number of components increase, costly start-up time and development efforts are expended in order to cause the control components to communicate and ultimately cooperate to achieve an overall manufacturing process or outcome. Moreover, given that control systems and associated components are being configured and designed in a more distributed manner, it has become more complicated and time consuming to notify one portion of the control system of occurrences or problems that are happening in other portions of the system.